#ifndef PCASOLVER_H
#define PCASOLVER_H

#include <Eigen/Dense>

class PCASolver
{
public:
    PCASolver(Eigen::MatrixXd * data, Eigen::MatrixXd * PC);
    virtual ~PCASolver();

    Eigen::MatrixXd * performDimensionReduction(Eigen::MatrixXd * data, int dimensions);

    Eigen::MatrixXd * getPCMatrix() { return PC; }
private:
    Eigen::MatrixXd * PC;
};

#endif // PCASOLVER_H
